#include <iostream>
#include "Stack.h"
using namespace std;

int main(int argc, char** argv) 
{
	Stack<int> intStack;
	cout << "Processing an intStack" << endl;
	for(int i=0; i<4; i++)
	{
		intStack.push(i);
		intStack.printStack();
	}
	int popInteger;
	while( !intStack.isStackEmpty() )
	{
		intStack.pop(popInteger);
		cout << popInteger << "pop from stack" << endl;
		intStack.printStack(); 
	}
	
	Stack<double> doubleStack;
	double value = 1.1;
	
	cout << "Processing an doubleStack" << endl;
	for(int i=0; i<4; i++)
	{
		doubleStack.push(value);
		doubleStack.printStack();
		value += 1.1;
	}
	double popDouble;
	while( !doubleStack.isStackEmpty() )
	{
		doubleStack.pop(popDouble);
		cout << popDouble << "pop from stack" << endl;
		doubleStack.printStack(); 
	}
	
	return 0;
}
